package com.waji.controller;


import com.waji.entity.Admin;
import com.waji.mapper.AdminMapper;
import com.waji.service.AdminService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;


/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author 关注公众号：MarkerHub
 * @since 2020-11-29
 */
@CrossOrigin
@RestController
@RequestMapping("/admin")
public class AdminController {

    @Autowired
    AdminService adminService;
    @Autowired
    AdminMapper adminMapper;
    // 这里开启adminMapper的@Autowired很重要，虽然还在爆红，但是总算是可以使用下面的，
    // adminMapper自带的几个方法进行增删改查了。其中查看所有使用selectlist方法，我还不会写
    // 这里adminMapper继承的是BaseMapper类，而我仿造的那个例子用的不是mybatis-pluse,它用
    // 的是jdbc,继承的是某dao ,有些差别。
    //@Autowired
    //Admin admin;

    @CrossOrigin
    @GetMapping("/")
    // 只接受get请求
    public Object index(){
        return adminService.getById(1L);
    }

    @CrossOrigin
    @GetMapping("/getone")
    // 只接受get请求
    public Object getOne()
    {
        return adminMapper.selectById(6L);
    }

    @CrossOrigin
    @GetMapping("/changeone")
    // 只接受get请求
    public  Object  change(){
        Admin student = new Admin();
        student.setId(7);
        student.setName("乔布斯");
        student.setSex("m");
        adminMapper.updateById(student);
        return student;
    }

    @CrossOrigin
    @GetMapping("/insertone")
    // 只接受get请求
    public  Object insert(){
        Admin student = new Admin();
        student.setId(7);
        student.setName("富兰克林");
        student.setSex("m");
        adminMapper.insert(student);
        return adminMapper.selectById(7L);
    }

    @CrossOrigin
    @PostMapping("/deleteone")
    // 只接受post请求
    public  String delete(int x){
        adminMapper.deleteById(x);
        return "删除成功";
    }
}
